package com.api.API.LiveStreamingManager;

import com.api.POJO.LiveStreamingManager.LiveStreamingManagerListInfo;
import com.api.POJO.LiveStreamingManager.LiveStreamingManagerListReturnMsg;
import com.api.POJO.LiveStreamingManager.LiveStreamingManagerReturnMsg;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * @Description :
 * @Author :
 * @Date : 2021/12/11
 */
@FeignClient("LiveStreamingManager")
public interface LiveStreamingManagerAPI {

    @PostMapping("/live/add/info")
    LiveStreamingManagerListReturnMsg addNewLiveStreamingListInfo(@RequestBody LiveStreamingManagerListInfo info);

    @DeleteMapping("/live/delete/info/{token}")
    LiveStreamingManagerListReturnMsg deleteLiveStreamingListInfoByToken(@PathVariable String token);

    @GetMapping("/live/add/rtmp/{token}")
    LiveStreamingManagerReturnMsg addNewRTMPLiveStreamingInfo(@PathVariable String token);
    @GetMapping("/live/get/rtmp/{token}")
    LiveStreamingManagerReturnMsg getRTMPLiveStreamingInfoByToken(@PathVariable String token);

    @DeleteMapping("/live/delete/rtmp/{token}")
    LiveStreamingManagerReturnMsg deleteRTMPLiveStreamingInfo(@PathVariable String token);

    @GetMapping("/live/add/webrtc/{token}")
    LiveStreamingManagerReturnMsg addNewWebRtcLiveStreamingInfo(@PathVariable String token);

    @GetMapping("/live/get/webrtc/{token}")
    LiveStreamingManagerReturnMsg getWebRtcLiveStreamingInfoByToken(@PathVariable String token);

    @DeleteMapping("/live/delete/webrtc/{token}")
    LiveStreamingManagerReturnMsg deleteWebRtcLiveStreamingInfo(@PathVariable String token);

    @GetMapping("/live/get/info/all")
    LiveStreamingManagerListReturnMsg getAllLiveListInfo();

    @GetMapping("/live/get/info/{token}")
    LiveStreamingManagerListReturnMsg getLiveListInfoByToken(@PathVariable String token);
}
